<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>computed和watch的对比</title>
</head>
<body>
    <script src="../js/vue.js"></script>
    <div id="app">
        <p>{{firstName}}</p>
        <p>{{lastName}}</p>
    </div>
     
    <script>
        let app = new Vue({
          el:"#app",  
          data: { 
            firstName: 'Foo',
            lastName: 'Bar',
            //fullName:'Foo Bar'
        },
        watch: {
            firstName: function(val){
                this.fullName = val + ' '+ this.lastName;
            },
            lastName: function(val){
                this.fullName = this.firstName + ' ' + val;
            }
        },
        computed: {
            fullName: {
                //getter
                get: function(){
                    return this.firstName + ' ' + this.lastName;
                },
                //setter
                set:function(newValue){
                    var names = newValue.split(' ');
                    this.firstName = names[0];
                    this.lastName = names[names.length-1];
                }
            }
        }
    }) 
    </script>
</body>
</html>